Skip to main content

Launch Files for Jarvis Bot

The system can be brought up through two main launch files:

  • Bringup.launch.py
  • Autobringup.launch.py
Hardware_workflow

Bringup.launch.py

The Bringup.launch.py script is designed to launch the core components required for the basic operation of the robot. The nodes launched by this file include:

  • YDLidar_ros2_driver:
    Launches the driver for the YDLidar sensor, responsible for collecting LIDAR data, which is essential for distance measurements and environment mapping.

  • Camera node:
    Handles input from the robot's camera, used for visual processing and any vision-based tasks.

  • Differential node - Odom:
    Provides odometry data based on the differential drive configuration, tracking the robot's movement by calculating its relative position over time.

  • State publishers node:
    Publishes the robot’s state information, making it available to other parts of the system, such as its current status or configuration.

  • Robot state publisher:
    Publishes the state of the robot's joints and their transforms. This node helps in describing the pose of the robot's various components.

  • Joint state publishers:
    Publishes the joint states of the robot, providing the necessary data for the motion control and feedback mechanisms of the robot's joints.

Usage

To run the Bringup.launch.py file, use the following ROS 2 command:

ros2 launch jarvis_bringup Bringup.launch.py

Autobringup.launch.py

The Autobringup.launch.py script includes all components from the Bringup.launch.py file with additional nodes for navigation and SLAM, making it a more comprehensive launch file. The additional nodes launched include:

  • YDLidar_ros2_driver:
    The same LIDAR driver as in the Bringup.launch.py file, responsible for collecting LIDAR data for navigation and mapping.

  • Camera node:
    Manages the camera input, essential for vision-based navigation and object detection.

  • Differential node - Odom:
    Publishes odometry data to help in tracking the movement and position of the robot for navigation purposes.

  • State publishers node:
    Publishes the robot’s state information, allowing higher-level processes to access the status of different components.

  • Robot state publisher:
    Publishes the state of the robot's joints and their transforms, crucial for keeping track of the robot's structure and motion.

  • Joint state publishers:
    Publishes the joint states, used for controlling the robot’s motion and responding to feedback from the robot’s joints.

  • Navigation launch:
    Launches the navigation stack for autonomous movement. This component enables the robot to plan paths and move through its environment without manual intervention.

  • Cartographer launch:
    Launches the Cartographer package for Simultaneous Localization and Mapping (SLAM), allowing the robot to create maps of its environment while simultaneously tracking its position within that map.

Usage

To run the Autobringup.launch.py file, use the following ROS 2 command:

ros2 launch jarvis_bringup Autobringup.launch.py

Difference between Bringup and Autobringup

  • Bringup.launch.py is a basic launch file that focuses on the core components necessary for operating the robot, such as sensor drivers, odometry, and state publishers. It is mainly used for simpler tasks where basic functionality is required.

  • Autobringup.launch.py, on the other hand, extends the Bringup.launch.py functionality by adding components for navigation and SLAM (Simultaneous Localization and Mapping). This makes it more suitable for tasks involving autonomous movement and real-time mapping of the environment.